<html><head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="Start" href="index.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Index of module types" rel=Appendix href="index_module_types.html">
<link title="Arg" rel="Chapter" href="Arg.html">
<link title="Arg_helper" rel="Chapter" href="Arg_helper.html">
<link title="Array" rel="Chapter" href="Array.html">
<link title="ArrayLabels" rel="Chapter" href="ArrayLabels.html">
<link title="Ast_helper" rel="Chapter" href="Ast_helper.html">
<link title="Ast_invariants" rel="Chapter" href="Ast_invariants.html">
<link title="Ast_iterator" rel="Chapter" href="Ast_iterator.html">
<link title="Ast_mapper" rel="Chapter" href="Ast_mapper.html">
<link title="Asttypes" rel="Chapter" href="Asttypes.html">
<link title="Attr_helper" rel="Chapter" href="Attr_helper.html">
<link title="Bigarray" rel="Chapter" href="Bigarray.html">
<link title="Buffer" rel="Chapter" href="Buffer.html">
<link title="Builtin_attributes" rel="Chapter" href="Builtin_attributes.html">
<link title="Bytes" rel="Chapter" href="Bytes.html">
<link title="BytesLabels" rel="Chapter" href="BytesLabels.html">
<link title="Callback" rel="Chapter" href="Callback.html">
<link title="CamlinternalFormat" rel="Chapter" href="CamlinternalFormat.html">
<link title="CamlinternalFormatBasics" rel="Chapter" href="CamlinternalFormatBasics.html">
<link title="CamlinternalLazy" rel="Chapter" href="CamlinternalLazy.html">
<link title="CamlinternalMod" rel="Chapter" href="CamlinternalMod.html">
<link title="CamlinternalOO" rel="Chapter" href="CamlinternalOO.html">
<link title="Ccomp" rel="Chapter" href="Ccomp.html">
<link title="Char" rel="Chapter" href="Char.html">
<link title="Clflags" rel="Chapter" href="Clflags.html">
<link title="Complex" rel="Chapter" href="Complex.html">
<link title="Condition" rel="Chapter" href="Condition.html">
<link title="Config" rel="Chapter" href="Config.html">
<link title="Consistbl" rel="Chapter" href="Consistbl.html">
<link title="Depend" rel="Chapter" href="Depend.html">
<link title="Digest" rel="Chapter" href="Digest.html">
<link title="Docstrings" rel="Chapter" href="Docstrings.html">
<link title="Dynlink" rel="Chapter" href="Dynlink.html">
<link title="Ephemeron" rel="Chapter" href="Ephemeron.html">
<link title="Event" rel="Chapter" href="Event.html">
<link title="Filename" rel="Chapter" href="Filename.html">
<link title="Format" rel="Chapter" href="Format.html">
<link title="Gc" rel="Chapter" href="Gc.html">
<link title="Genlex" rel="Chapter" href="Genlex.html">
<link title="Graphics" rel="Chapter" href="Graphics.html">
<link title="GraphicsX11" rel="Chapter" href="GraphicsX11.html">
<link title="Hashtbl" rel="Chapter" href="Hashtbl.html">
<link title="Identifiable" rel="Chapter" href="Identifiable.html">
<link title="Int32" rel="Chapter" href="Int32.html">
<link title="Int64" rel="Chapter" href="Int64.html">
<link title="Lazy" rel="Chapter" href="Lazy.html">
<link title="Lexer" rel="Chapter" href="Lexer.html">
<link title="Lexing" rel="Chapter" href="Lexing.html">
<link title="List" rel="Chapter" href="List.html">
<link title="ListLabels" rel="Chapter" href="ListLabels.html">
<link title="Location" rel="Chapter" href="Location.html">
<link title="Longident" rel="Chapter" href="Longident.html">
<link title="Map" rel="Chapter" href="Map.html">
<link title="Marshal" rel="Chapter" href="Marshal.html">
<link title="Misc" rel="Chapter" href="Misc.html">
<link title="MoreLabels" rel="Chapter" href="MoreLabels.html">
<link title="Mutex" rel="Chapter" href="Mutex.html">
<link title="Nativeint" rel="Chapter" href="Nativeint.html">
<link title="Numbers" rel="Chapter" href="Numbers.html">
<link title="Obj" rel="Chapter" href="Obj.html">
<link title="Oo" rel="Chapter" href="Oo.html">
<link title="Parse" rel="Chapter" href="Parse.html">
<link title="Parser" rel="Chapter" href="Parser.html">
<link title="Parsetree" rel="Chapter" href="Parsetree.html">
<link title="Parsing" rel="Chapter" href="Parsing.html">
<link title="Pervasives" rel="Chapter" href="Pervasives.html">
<link title="Pparse" rel="Chapter" href="Pparse.html">
<link title="Pprintast" rel="Chapter" href="Pprintast.html">
<link title="Printast" rel="Chapter" href="Printast.html">
<link title="Printexc" rel="Chapter" href="Printexc.html">
<link title="Printf" rel="Chapter" href="Printf.html">
<link title="Profile" rel="Chapter" href="Profile.html">
<link title="Queue" rel="Chapter" href="Queue.html">
<link title="Random" rel="Chapter" href="Random.html">
<link title="Scanf" rel="Chapter" href="Scanf.html">
<link title="Set" rel="Chapter" href="Set.html">
<link title="Simplif" rel="Chapter" href="Simplif.html">
<link title="Sort" rel="Chapter" href="Sort.html">
<link title="Spacetime" rel="Chapter" href="Spacetime.html">
<link title="Stack" rel="Chapter" href="Stack.html">
<link title="StdLabels" rel="Chapter" href="StdLabels.html">
<link title="Str" rel="Chapter" href="Str.html">
<link title="Stream" rel="Chapter" href="Stream.html">
<link title="String" rel="Chapter" href="String.html">
<link title="StringLabels" rel="Chapter" href="StringLabels.html">
<link title="Strongly_connected_components" rel="Chapter" href="Strongly_connected_components.html">
<link title="Syntaxerr" rel="Chapter" href="Syntaxerr.html">
<link title="Sys" rel="Chapter" href="Sys.html">
<link title="Targetint" rel="Chapter" href="Targetint.html">
<link title="Tbl" rel="Chapter" href="Tbl.html">
<link title="Terminfo" rel="Chapter" href="Terminfo.html">
<link title="Thread" rel="Chapter" href="Thread.html">
<link title="ThreadUnix" rel="Chapter" href="ThreadUnix.html">
<link title="Typemod" rel="Chapter" href="Typemod.html">
<link title="Uchar" rel="Chapter" href="Uchar.html">
<link title="Unix" rel="Chapter" href="Unix.html">
<link title="UnixLabels" rel="Chapter" href="UnixLabels.html">
<link title="Warnings" rel="Chapter" href="Warnings.html">
<link title="Weak" rel="Chapter" href="Weak.html"><title>UnixLabels</title>
</head>
<body>
<code class="code"><span class="keyword">sig</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;error&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.error&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">E2BIG</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EACCES</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EAGAIN</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EBADF</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EBUSY</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ECHILD</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EDEADLK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EDOM</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EEXIST</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EFAULT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EFBIG</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EINTR</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EINVAL</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EIO</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EISDIR</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EMFILE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EMLINK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENAMETOOLONG</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENFILE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENODEV</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOENT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOEXEC</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOLCK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOMEM</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOSPC</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOSYS</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOTDIR</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOTEMPTY</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOTTY</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENXIO</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EPERM</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EPIPE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ERANGE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EROFS</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ESPIPE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ESRCH</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EXDEV</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EWOULDBLOCK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EINPROGRESS</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EALREADY</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOTSOCK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EDESTADDRREQ</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EMSGSIZE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EPROTOTYPE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOPROTOOPT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EPROTONOSUPPORT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ESOCKTNOSUPPORT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EOPNOTSUPP</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EPFNOSUPPORT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EAFNOSUPPORT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EADDRINUSE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EADDRNOTAVAIL</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENETDOWN</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENETUNREACH</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENETRESET</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ECONNABORTED</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ECONNRESET</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOBUFS</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EISCONN</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOTCONN</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ESHUTDOWN</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ETOOMANYREFS</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ETIMEDOUT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ECONNREFUSED</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EHOSTDOWN</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EHOSTUNREACH</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ELOOP</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EOVERFLOW</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EUNKNOWNERR</span>&nbsp;<span class="keyword">of</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">exception</span>&nbsp;<span class="constructor">Unix_error</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">UnixLabels</span>.error&nbsp;*&nbsp;string&nbsp;*&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;error_message&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.error&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;handle_unix_error&nbsp;:&nbsp;(<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>b)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>b<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;environment&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;array<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getenv&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;unsafe_getenv&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;putenv&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;process_status&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.process_status&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">WEXITED</span>&nbsp;<span class="keyword">of</span>&nbsp;int<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">WSIGNALED</span>&nbsp;<span class="keyword">of</span>&nbsp;int<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">WSTOPPED</span>&nbsp;<span class="keyword">of</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;wait_flag&nbsp;=&nbsp;<span class="constructor">Unix</span>.wait_flag&nbsp;=&nbsp;<span class="constructor">WNOHANG</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">WUNTRACED</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;execv&nbsp;:&nbsp;prog:string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;args:string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;execve&nbsp;:&nbsp;prog:string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;args:string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;env:string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;execvp&nbsp;:&nbsp;prog:string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;args:string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;execvpe&nbsp;:&nbsp;prog:string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;args:string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;env:string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fork&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;wait&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;*&nbsp;<span class="constructor">UnixLabels</span>.process_status<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;waitpid&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;mode:<span class="constructor">UnixLabels</span>.wait_flag&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;*&nbsp;<span class="constructor">UnixLabels</span>.process_status<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;system&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.process_status<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getpid&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getppid&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;nice&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;file_descr&nbsp;=&nbsp;<span class="constructor">Unix</span>.file_descr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;stdin&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;stdout&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;stderr&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;open_flag&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.open_flag&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">O_RDONLY</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_WRONLY</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_RDWR</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_NONBLOCK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_APPEND</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_CREAT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_TRUNC</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_EXCL</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_NOCTTY</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_DSYNC</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_SYNC</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_RSYNC</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_SHARE_DELETE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_CLOEXEC</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_KEEPEXEC</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;file_perm&nbsp;=&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;openfile&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;mode:<span class="constructor">UnixLabels</span>.open_flag&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;perm:<span class="constructor">UnixLabels</span>.file_perm&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.file_descr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;close&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;read&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;buf:bytes&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;pos:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;len:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;write&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;buf:bytes&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;pos:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;len:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;single_write&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;buf:bytes&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;pos:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;len:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;write_substring&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;buf:string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;pos:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;len:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;single_write_substring&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;buf:string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;pos:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;len:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;in_channel_of_descr&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Pervasives</span>.in_channel<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;out_channel_of_descr&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Pervasives</span>.out_channel<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;descr_of_in_channel&nbsp;:&nbsp;<span class="constructor">Pervasives</span>.in_channel&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.file_descr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;descr_of_out_channel&nbsp;:&nbsp;<span class="constructor">Pervasives</span>.out_channel&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.file_descr<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;seek_command&nbsp;=&nbsp;<span class="constructor">Unix</span>.seek_command&nbsp;=&nbsp;<span class="constructor">SEEK_SET</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SEEK_CUR</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SEEK_END</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;lseek&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;mode:<span class="constructor">UnixLabels</span>.seek_command&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;truncate&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;len:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;ftruncate&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;len:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;file_kind&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.file_kind&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">S_REG</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">S_DIR</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">S_CHR</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">S_BLK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">S_LNK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">S_FIFO</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">S_SOCK</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;stats&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.stats&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_dev&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_ino&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_kind&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_kind;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_perm&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_perm;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_nlink&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_uid&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_gid&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_rdev&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_size&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_atime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_mtime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_ctime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;stat&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.stats<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;lstat&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.stats<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fstat&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.stats<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;isatty&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool<br>
&nbsp;&nbsp;<span class="keyword">module</span>&nbsp;<span class="constructor">LargeFile</span>&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">sig</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;lseek&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int64&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;mode:<span class="constructor">UnixLabels</span>.seek_command&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int64<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;truncate&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;len:int64&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;ftruncate&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;len:int64&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;stats&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.<span class="constructor">LargeFile</span>.stats&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_dev&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_ino&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_kind&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_kind;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_perm&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_perm;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_nlink&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_uid&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_gid&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_rdev&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_size&nbsp;:&nbsp;int64;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_atime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_mtime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_ctime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;stat&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.<span class="constructor">LargeFile</span>.stats<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;lstat&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.<span class="constructor">LargeFile</span>.stats<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fstat&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.<span class="constructor">LargeFile</span>.stats<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">end</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;map_file&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;?pos:int64&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;kind:(<span class="keywordsign">'</span>a,&nbsp;<span class="keywordsign">'</span>b)&nbsp;<span class="constructor">CamlinternalBigarray</span>.kind&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;layout:<span class="keywordsign">'</span>c&nbsp;<span class="constructor">CamlinternalBigarray</span>.layout&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;shared:bool&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;dims:int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;(<span class="keywordsign">'</span>a,&nbsp;<span class="keywordsign">'</span>b,&nbsp;<span class="keywordsign">'</span>c)&nbsp;<span class="constructor">CamlinternalBigarray</span>.genarray<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;unlink&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;rename&nbsp;:&nbsp;src:string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;dst:string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;link&nbsp;:&nbsp;src:string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;dst:string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;access_permission&nbsp;=&nbsp;<span class="constructor">Unix</span>.access_permission&nbsp;=&nbsp;<span class="constructor">R_OK</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">W_OK</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">X_OK</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">F_OK</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;chmod&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;perm:<span class="constructor">UnixLabels</span>.file_perm&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fchmod&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;perm:<span class="constructor">UnixLabels</span>.file_perm&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;chown&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;uid:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;gid:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fchown&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;uid:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;gid:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;umask&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;access&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;perm:<span class="constructor">UnixLabels</span>.access_permission&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;dup&nbsp;:&nbsp;?cloexec:bool&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.file_descr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;dup2&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;?cloexec:bool&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;src:<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;dst:<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;set_nonblock&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;clear_nonblock&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;set_close_on_exec&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;clear_close_on_exec&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;mkdir&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;perm:<span class="constructor">UnixLabels</span>.file_perm&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;rmdir&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;chdir&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getcwd&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;chroot&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;dir_handle&nbsp;=&nbsp;<span class="constructor">Unix</span>.dir_handle<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;opendir&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.dir_handle<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;readdir&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.dir_handle&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;rewinddir&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.dir_handle&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;closedir&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.dir_handle&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;pipe&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;?cloexec:bool&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;*&nbsp;<span class="constructor">UnixLabels</span>.file_descr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;mkfifo&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;perm:<span class="constructor">UnixLabels</span>.file_perm&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;create_process&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;prog:string&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;args:string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;stdin:<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;stdout:<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;stderr:<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;create_process_env&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;prog:string&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;args:string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;env:string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;stdin:<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;stdout:<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;stderr:<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;open_process_in&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Pervasives</span>.in_channel<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;open_process_out&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Pervasives</span>.out_channel<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;open_process&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Pervasives</span>.in_channel&nbsp;*&nbsp;<span class="constructor">Pervasives</span>.out_channel<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;open_process_full&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;env:string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Pervasives</span>.in_channel&nbsp;*&nbsp;<span class="constructor">Pervasives</span>.out_channel&nbsp;*&nbsp;<span class="constructor">Pervasives</span>.in_channel<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;close_process_in&nbsp;:&nbsp;<span class="constructor">Pervasives</span>.in_channel&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.process_status<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;close_process_out&nbsp;:&nbsp;<span class="constructor">Pervasives</span>.out_channel&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.process_status<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;close_process&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Pervasives</span>.in_channel&nbsp;*&nbsp;<span class="constructor">Pervasives</span>.out_channel&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.process_status<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;close_process_full&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Pervasives</span>.in_channel&nbsp;*&nbsp;<span class="constructor">Pervasives</span>.out_channel&nbsp;*&nbsp;<span class="constructor">Pervasives</span>.in_channel&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.process_status<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;symlink&nbsp;:&nbsp;?to_dir:bool&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;src:string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;dst:string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;has_symlink&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;readlink&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;select&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;read:<span class="constructor">UnixLabels</span>.file_descr&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;write:<span class="constructor">UnixLabels</span>.file_descr&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;except:<span class="constructor">UnixLabels</span>.file_descr&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;timeout:float&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;list&nbsp;*&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;list&nbsp;*<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;list<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;lock_command&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.lock_command&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">F_ULOCK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">F_LOCK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">F_TLOCK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">F_TEST</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">F_RLOCK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">F_TRLOCK</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;lockf&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;mode:<span class="constructor">UnixLabels</span>.lock_command&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;len:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;kill&nbsp;:&nbsp;pid:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;signal:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;sigprocmask_command&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.sigprocmask_command&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">SIG_SETMASK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SIG_BLOCK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SIG_UNBLOCK</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;sigprocmask&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;mode:<span class="constructor">UnixLabels</span>.sigprocmask_command&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;list<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;sigpending&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;list<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;sigsuspend&nbsp;:&nbsp;int&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;pause&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;process_times&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.process_times&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;tms_utime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tms_stime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tms_cutime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tms_cstime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;tm&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.tm&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;tm_sec&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tm_min&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tm_hour&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tm_mday&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tm_mon&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tm_year&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tm_wday&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tm_yday&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tm_isdst&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;time&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gettimeofday&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gmtime&nbsp;:&nbsp;float&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.tm<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;localtime&nbsp;:&nbsp;float&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.tm<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;mktime&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.tm&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float&nbsp;*&nbsp;<span class="constructor">UnixLabels</span>.tm<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;alarm&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;sleep&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;times&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.process_times<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;utimes&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;access:float&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;modif:float&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;interval_timer&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.interval_timer&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">ITIMER_REAL</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ITIMER_VIRTUAL</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ITIMER_PROF</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;interval_timer_status&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.interval_timer_status&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;it_interval&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;it_value&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getitimer&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.interval_timer&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.interval_timer_status<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;setitimer&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.interval_timer&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.interval_timer_status&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.interval_timer_status<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getuid&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;geteuid&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;setuid&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getgid&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getegid&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;setgid&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getgroups&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;array<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;setgroups&nbsp;:&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;initgroups&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;passwd_entry&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.passwd_entry&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;pw_name&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;pw_passwd&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;pw_uid&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;pw_gid&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;pw_gecos&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;pw_dir&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;pw_shell&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;group_entry&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.group_entry&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;gr_name&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;gr_passwd&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;gr_gid&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;gr_mem&nbsp;:&nbsp;string&nbsp;array;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getlogin&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getpwnam&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.passwd_entry<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getgrnam&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.group_entry<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getpwuid&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.passwd_entry<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getgrgid&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.group_entry<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;inet_addr&nbsp;=&nbsp;<span class="constructor">Unix</span>.inet_addr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;inet_addr_of_string&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.inet_addr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;string_of_inet_addr&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.inet_addr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;inet_addr_any&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.inet_addr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;inet_addr_loopback&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.inet_addr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;inet6_addr_any&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.inet_addr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;inet6_addr_loopback&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.inet_addr<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;socket_domain&nbsp;=&nbsp;<span class="constructor">Unix</span>.socket_domain&nbsp;=&nbsp;<span class="constructor">PF_UNIX</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">PF_INET</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">PF_INET6</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;socket_type&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.socket_type&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">SOCK_STREAM</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SOCK_DGRAM</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SOCK_RAW</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SOCK_SEQPACKET</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;sockaddr&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.sockaddr&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">ADDR_UNIX</span>&nbsp;<span class="keyword">of</span>&nbsp;string<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ADDR_INET</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">UnixLabels</span>.inet_addr&nbsp;*&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;socket&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;?cloexec:bool&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;domain:<span class="constructor">UnixLabels</span>.socket_domain&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;kind:<span class="constructor">UnixLabels</span>.socket_type&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;protocol:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.file_descr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;domain_of_sockaddr&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.sockaddr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.socket_domain<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;socketpair&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;?cloexec:bool&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;domain:<span class="constructor">UnixLabels</span>.socket_domain&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;kind:<span class="constructor">UnixLabels</span>.socket_type&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;protocol:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;*&nbsp;<span class="constructor">UnixLabels</span>.file_descr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;accept&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;?cloexec:bool&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;*&nbsp;<span class="constructor">UnixLabels</span>.sockaddr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;bind&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;addr:<span class="constructor">UnixLabels</span>.sockaddr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;connect&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;addr:<span class="constructor">UnixLabels</span>.sockaddr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;listen&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;max:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;shutdown_command&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.shutdown_command&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">SHUTDOWN_RECEIVE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SHUTDOWN_SEND</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SHUTDOWN_ALL</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;shutdown&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;mode:<span class="constructor">UnixLabels</span>.shutdown_command&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getsockname&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.sockaddr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getpeername&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.sockaddr<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;msg_flag&nbsp;=&nbsp;<span class="constructor">Unix</span>.msg_flag&nbsp;=&nbsp;<span class="constructor">MSG_OOB</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">MSG_DONTROUTE</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">MSG_PEEK</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;recv&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;buf:bytes&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;pos:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;len:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;mode:<span class="constructor">UnixLabels</span>.msg_flag&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;recvfrom&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;buf:bytes&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;pos:int&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;len:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;mode:<span class="constructor">UnixLabels</span>.msg_flag&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;*&nbsp;<span class="constructor">UnixLabels</span>.sockaddr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;send&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;buf:bytes&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;pos:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;len:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;mode:<span class="constructor">UnixLabels</span>.msg_flag&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;send_substring&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;buf:string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;pos:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;len:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;mode:<span class="constructor">UnixLabels</span>.msg_flag&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;sendto&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;buf:bytes&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;pos:int&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;len:int&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;mode:<span class="constructor">UnixLabels</span>.msg_flag&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;addr:<span class="constructor">UnixLabels</span>.sockaddr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;sendto_substring&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;buf:string&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;pos:int&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;len:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;mode:<span class="constructor">UnixLabels</span>.msg_flag&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.sockaddr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;socket_bool_option&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">SO_DEBUG</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_BROADCAST</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_REUSEADDR</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_KEEPALIVE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_DONTROUTE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_OOBINLINE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_ACCEPTCONN</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TCP_NODELAY</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">IPV6_ONLY</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;socket_int_option&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">SO_SNDBUF</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_RCVBUF</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_ERROR</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_TYPE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_RCVLOWAT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_SNDLOWAT</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;socket_optint_option&nbsp;=&nbsp;<span class="constructor">SO_LINGER</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;socket_float_option&nbsp;=&nbsp;<span class="constructor">SO_RCVTIMEO</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_SNDTIMEO</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getsockopt&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.socket_bool_option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;setsockopt&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.socket_bool_option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getsockopt_int&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.socket_int_option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;setsockopt_int&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.socket_int_option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getsockopt_optint&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.socket_optint_option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;option<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;setsockopt_optint&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.socket_optint_option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getsockopt_float&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.socket_float_option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;setsockopt_float&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.socket_float_option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getsockopt_error&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.error&nbsp;option<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;open_connection&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.sockaddr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Pervasives</span>.in_channel&nbsp;*&nbsp;<span class="constructor">Pervasives</span>.out_channel<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;shutdown_connection&nbsp;:&nbsp;<span class="constructor">Pervasives</span>.in_channel&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;establish_server&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="constructor">Pervasives</span>.in_channel&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">Pervasives</span>.out_channel&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit)&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;addr:<span class="constructor">UnixLabels</span>.sockaddr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;host_entry&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.host_entry&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;h_name&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;h_aliases&nbsp;:&nbsp;string&nbsp;array;<br>
&nbsp;&nbsp;&nbsp;&nbsp;h_addrtype&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.socket_domain;<br>
&nbsp;&nbsp;&nbsp;&nbsp;h_addr_list&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.inet_addr&nbsp;array;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;protocol_entry&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.protocol_entry&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;p_name&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;p_aliases&nbsp;:&nbsp;string&nbsp;array;<br>
&nbsp;&nbsp;&nbsp;&nbsp;p_proto&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;service_entry&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.service_entry&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;s_name&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;s_aliases&nbsp;:&nbsp;string&nbsp;array;<br>
&nbsp;&nbsp;&nbsp;&nbsp;s_port&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;s_proto&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gethostname&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gethostbyname&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.host_entry<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gethostbyaddr&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.inet_addr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.host_entry<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getprotobyname&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.protocol_entry<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getprotobynumber&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.protocol_entry<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getservbyname&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;protocol:string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.service_entry<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getservbyport&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;protocol:string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.service_entry<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;addr_info&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;ai_family&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.socket_domain;<br>
&nbsp;&nbsp;&nbsp;&nbsp;ai_socktype&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.socket_type;<br>
&nbsp;&nbsp;&nbsp;&nbsp;ai_protocol&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;ai_addr&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.sockaddr;<br>
&nbsp;&nbsp;&nbsp;&nbsp;ai_canonname&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;getaddrinfo_option&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">AI_FAMILY</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">UnixLabels</span>.socket_domain<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">AI_SOCKTYPE</span>&nbsp;<span class="keyword">of</span>&nbsp;<span class="constructor">UnixLabels</span>.socket_type<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">AI_PROTOCOL</span>&nbsp;<span class="keyword">of</span>&nbsp;int<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">AI_NUMERICHOST</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">AI_CANONNAME</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">AI_PASSIVE</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getaddrinfo&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.getaddrinfo_option&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.addr_info&nbsp;list<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;name_info&nbsp;=&nbsp;{&nbsp;ni_hostname&nbsp;:&nbsp;string;&nbsp;ni_service&nbsp;:&nbsp;string;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;getnameinfo_option&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">NI_NOFQDN</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">NI_NUMERICHOST</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">NI_NAMEREQD</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">NI_NUMERICSERV</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">NI_DGRAM</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getnameinfo&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.sockaddr&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.getnameinfo_option&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.name_info<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;terminal_io&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.terminal_io&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_ignbrk&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_brkint&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_ignpar&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_parmrk&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_inpck&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_istrip&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_inlcr&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_igncr&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_icrnl&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_ixon&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_ixoff&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_opost&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_obaud&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_ibaud&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_csize&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_cstopb&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_cread&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_parenb&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_parodd&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_hupcl&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_clocal&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_isig&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_icanon&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_noflsh&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_echo&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_echoe&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_echok&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_echonl&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_vintr&nbsp;:&nbsp;char;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_vquit&nbsp;:&nbsp;char;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_verase&nbsp;:&nbsp;char;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_vkill&nbsp;:&nbsp;char;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_veof&nbsp;:&nbsp;char;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_veol&nbsp;:&nbsp;char;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_vmin&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_vtime&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_vstart&nbsp;:&nbsp;char;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_vstop&nbsp;:&nbsp;char;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;tcgetattr&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.terminal_io<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;setattr_when&nbsp;=&nbsp;<span class="constructor">Unix</span>.setattr_when&nbsp;=&nbsp;<span class="constructor">TCSANOW</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TCSADRAIN</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TCSAFLUSH</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;tcsetattr&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;mode:<span class="constructor">UnixLabels</span>.setattr_when&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="constructor">UnixLabels</span>.terminal_io&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;tcsendbreak&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;duration:int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;tcdrain&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;flush_queue&nbsp;=&nbsp;<span class="constructor">Unix</span>.flush_queue&nbsp;=&nbsp;<span class="constructor">TCIFLUSH</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TCOFLUSH</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TCIOFLUSH</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;tcflush&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;mode:<span class="constructor">UnixLabels</span>.flush_queue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;flow_action&nbsp;=&nbsp;<span class="constructor">Unix</span>.flow_action&nbsp;=&nbsp;<span class="constructor">TCOOFF</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TCOON</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TCIOFF</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TCION</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;tcflow&nbsp;:&nbsp;<span class="constructor">UnixLabels</span>.file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;mode:<span class="constructor">UnixLabels</span>.flow_action&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;setsid&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
<span class="keyword">end</span></code></body></html>